\documentclass{xdyy-usermanual}

\xdyymanualsetup{
  info = {
    author            = {夏康玮},
    title             = { \pkg{xdyy-math} 用户手册},
    email             = {kangweixia_xdyy@163.com},
    date              = {2022-03-09},
    version           = {0.0.7},
    github-repository = {https://github.com/xkwxdyy/xdyy-math},
    gitee-repository  = {https://gitee.com/xkwxdyy/xdyy-math},
  }
}

\usepackage{xdyy-math}
\usepackage{xchoices}


\begin{document}
\maketitle
\tableofcontents



\section{宏包简介}

自己在记数学笔记的过程中难免会遇到写一些新命令环境，于是想写一个宏包来封装，结合 \cls{xdyy-notes} 文类 \footnote{
  https://github.com/xkwxdyy/xdyy-math \\
  https://gitee.com/xkwxdyy/xdyy-math
}
一起使用


\section{命令介绍}



\subsection{推导命令 \tn{deduce} }

\begin{function}[added = 2022-1-12]{\deduce}
  \begin{syntax}
    |\deduce| \oarg{\kvopt{key}{val}} \marg{left content} \marg{right content}
  \end{syntax}
  思路推导命令，内容部分可以使用 \env{enumerate}、\env{itemize} 等环境
  \begin{hexample}
    \deduce{
      \begin{itemize}
        \item $3 > 2$
        \item $2 > 1$
        \item $1 > 0$
      \end{itemize}
    }{
      \begin{enumerate}
        \item $3 > 1$
        \item $2 > 0$
      \end{enumerate}
    }
  \end{hexample}
\end{function}

\tn{deduce} 命令的键值有：

\begin{function}[added = 2022-01-12]{arrow}
  \begin{syntax}
    |arrow| = \meta{箭头样式} \init{$\Longrightarrow$}
  \end{syntax}
  命令中间箭头的样式
\end{function}

\begin{function}[added = 2022-01-12]{leftbox-align, rightbox-align}
  \begin{syntax}
    |leftbox-align| = \meta{left, center, right} \init{right}
    |rightbox-align| = \meta{left, center, right} \init{left}
  \end{syntax}
  分别对应左边和右边内容的对齐方式，如果使用了 \env{enumerate} 或 \env{itemize} 等环境则不起作用，只对纯文本并且使用 \textbackslash \textbackslash 换行产生作用（如果只有一行的话用对齐也没啥太明显的效果hhh）。
\end{function}

\begin{function}[added = 2022-01-12]{show-leftbrace, show-rightbrace}
  \begin{syntax}
    |show-leftbrace| = \meta{true, false} \init{true}
    |show-rightbrace| = \meta{true, false} \init{true}
  \end{syntax}
  是否显示两边的花括号。
\end{function}

\begin{function}[added = 2022-01-12]{leftbrace-to-arrow, arrow-to-rightbrace}
  \begin{syntax}
    |leftbrace-to-arrow| = \meta{dimension} \init{7pt}
    |arrow-to-rightbrace| = \meta{dimension} \init{2pt}
  \end{syntax}
  顾名思义，分别是左括号到箭头的水平距离与箭头到右括号的水平距离。
\end{function}

\begin{function}[added = 2022-01-12]{rightbrace-to-rightbox}
  \begin{syntax}
    |rightbrace-to-rightbox| = \meta{dimension} \init{3mm}
  \end{syntax}
  顾名思义，右边的括号到右边内容盒子的水平距离。（因为 \env{enumerate} 或 \env{itemize} 等环境的左侧会有一段小距离，所以设置此键值控制，因为这些环境的右边并没有额外距离，所以没有设置左边括号到左边内容盒子的（如果有需求的话后续再设置））。
\end{function}



\subsection{叠放符号命令 \tn{overlay}}

\begin{function}[added = 2022-2-21]{\overlay}
  \begin{syntax}
    |\overlay| \oarg{\kvopt{key}{val}}
  \end{syntax}
  思路分析命令，默认为双箭头加一个问号（即“是否等价”）。 提供一系列键值进行控制
  \begin{hexample}
      \overlay
  \end{hexample}
\end{function}


下面列举 \tn{overlay} 所有键值，其中*表示可以为below和above，如“\cmd{*-label}”表示有键 \cmd{below-label} 和 \cmd{above-label}
\begin{enumerate}
  \item \cmd{*-label}：内容。below的默认为“$\Longleftrightarrow$”，above的默认为“?”
  \item \cmd{*-color}：颜色。默认为black
  \item \cmd{*-vsep}：垂直移动。默认为0pt
  \item \cmd{*-hsep}：水平移动。默认为0pt
  \item \cmd{*-anchor}：锚点。below的默认为base，above的默认为south
  \item \cmd{*-scale}：缩放系数。默认为1
  \item \cmd{vsep}：控制整体的垂直移动。默认为0pt
\end{enumerate}



\section{环境介绍}


\subsection{定理类环境}

常见的定理环境均定义：
常见的定理环境
  \begin{xchoices}[label-style = arabic]
    \item 定义
    \item 定理
    \item 例
    \item 性质
    \item 命题
    \item 推论
    \item 引理
    \item 公理
    \item 注
    \item 反例
    \item 提示
    \item 总结
    \item 分析
    \item method方法（list型环境）
    \item step步骤（list型环境）
    \item case多情形（list型环境）
    \item 充分性、必要性
    \item 存在性、唯一性
  \end{xchoices}

\begin{vexample}
    \begin{definition}
      这是一段文字 $E = m c^2$
    \end{definition}
    
    \begin{theorem}
      这是一段文字 $E = m c^2$
    \end{theorem}
    
    \begin{example}
      这是一段文字 $E = m c^2$
    \end{example}
    
    \begin{property}
      这是一段文字 $E = m c^2$
    \end{property}
    
    \begin{proposition}
      这是一段文字 $E = m c^2$
    \end{proposition}
\end{vexample}

\begin{vexample}
    \begin{corollary}
      这是一段文字 $E = m c^2$
    \end{corollary}
    
    \begin{lemma}
      这是一段文字 $E = m c^2$
    \end{lemma}
    
    \begin{axiom}
      这是一段文字 $E = m c^2$
    \end{axiom}
    
    \begin{antiexample}
      这是一段文字 $E = m c^2$
    \end{antiexample}
\end{vexample}

\begin{vexample}
    \begin{remark}
      这是一段文字 $E = m c^2$
    \end{remark}
    
    \begin{hint}
      这是一段文字 $E = m c^2$
    \end{hint}
    
    \begin{summary}
      这是一段文字 $E = m c^2$
    \end{summary}

    \begin{analysis}
      这是一段文字 $E = m c^2$
    \end{analysis}
\end{vexample}


\begin{vexample}
    \begin{proof}[Euclid定理的证明]
      \begin{method}
        \item 方法一
        \item 方法二
      \end{method}
    \end{proof}
    
    \begin{proof}
      文字
      \begin{method}
        \item 方法一
        \item 方法二
      \end{method}
    \end{proof}
\end{vexample}


\begin{vexample}
    \begin{proof}
      \begin{case}
        \item 情形1
        \item 情形2
      \end{case}
    \end{proof}
    
    \begin{proof}
      文字
      \begin{case}
        \item 情形1
        \item 情形2
      \end{case}
    \end{proof}
\end{vexample}

\begin{vexample}
    \begin{proof}
      \begin{step}
        \item 步骤1
        \item 步骤2
      \end{step}
    \end{proof}
    
    \begin{proof}
      文字
      \begin{step}
        \item 步骤1
        \item 步骤2
      \end{step}
    \end{proof}
\end{vexample}

\begin{vexample}
    \begin{proof}
      \begin{existence}
        下面证明存在性
      \end{existence}
      \begin{uniqueness}
        下面证明唯一性
      \end{uniqueness}
    \end{proof}
\end{vexample}

\begin{vexample}
    \begin{proof}
      \begin{sufficiency}
        下面证明充分性
      \end{sufficiency}
      \begin{necessity}
        下面证明必要性
      \end{necessity}
    \end{proof}
\end{vexample}
\end{document}
